Examine all blocks in
column

ABSTRACT

THIS IS A SYSTEM FOR ACCEPTING THE SPECIFICATION OF THE ELEMENTS OF A BLOCK GRAPH WHICH ARE INTRODUCED AS INPUT TO A COMPUTER SYSTEM AND AUTOMATICALLY PRODUCING PAGINATED BLOCK DIAGRAMS AS OUTPUT. A SET OF HEURISTIC PROCEDURES ARE USED IN THIS SYSTEM, WHICH RESULTS IN AN INTEGRATED, INTERACTIVE RELATIONSHIP BETWEEN THE PARTITIONING, PLACEMENT AND LINE ROUTING FUNCTIONS.

DEFENSIVE PUBLICATION UNITED STATES PATENT AND TRADEMARK OFFICE Published at the request of the applicant or owner in accordance with the Notice of Dec. 16, 1969, 869 0.G. 687; The abstracts of Defensive Publication applications are identified by distinctly numbered series and arearranged chronologically. The heading of each abstract indicates the number of pages of specification, including claims and sheets of drawings contained in the application as originally filed. The files of these applications are available to the public for inspection and reproduction may be purchased for 30 cents a sheet.

Defensive Publication applicationshave not been examined as to the merits of alleged invention. The Patent and Trademark Office makes no assertion as to the novelty of the disclosed subject matter.

PUBLISHED DECEMBER 2, 1975 T941 005 AUTOMATED BLOCK DIAGRAMMING SYSTEM Jean Davies Lesser, Yorktown Heights, N.Y., assignor to International Business Machines Corporation, Armonk,

Filed Aug. 20, 1974, Ser. No. 499,109 Int. (Ii. G06f 9/12 US. Cl. 4441 21 Sheets Drawing. 37 Pages Specification INTEGRATED A B D ALGORITHM PARTITIONING PLACEMENT PLACEMENT IMPROVEMENT ROUTING DIAGRAM This is a system for accepting the specification of the elements of a block graph which are introduced as input to a computer system and automatically producing paginated block diagrams as output. A set of heuristic procedures are used in this system, which results in an integrated, interactive relationship between the partitioning, placement and line routing functions.

Dec. 2, 1975 J. D. LESSER T941,005

AUTOMATED BLOCK DIAGRAMMING SYSTEM Original Filed Aug. 20, 1974 Sheet 1 of 21 FIG.I.

INTEGRATED A B D ALGORITHM PARTITIONING PLACEMENT PLACEMENT IMPROVEMENT ROUTING DIAGRAM Dec. 2, 1975 J. D. LESSER T941,005

AUTOMATED BLOCK DIAGRAMMING SYSTEM Original Filed Aug. 20, 1974 Sheet 2 0f 21 *& PRIMARY OUTPUTS F I G. 2 A IL UL I J COLUMN PRIMARY OUTPUT INITIAL PLACEMENT IF PR OUTPUT INTERNAL OUTPUTS FIG. 2B COLUMN I- glljlijllii READJUSTED PLACEMENT A SOURCE SINKS FIG. 4A 2 INITIAL PLACEMENT 4 SOURCE SINKS FIG. 4B

PLACEMENT AFTER EVALUATION Dec. 2, 1975 J. D. LESSER T941,005

AUTOMATED BLOCK DIAGRAMMING SYSTEM Original Filed Aug. 20, 1974 Sheet 3 of 21 COLUMN 1 2 5 E E FIG. 3A E 7 El COLUMN 1 2 5 E 1 FIG. 3B 5 COLUMN 1 2 5 FIG. 30 E m L21 El COLUMN 1 2 5 I I F L51 Ill LL -E FIG. 30 W Dec. 2, 1975 J. D. LESSER T941,005

AUTOMATED BLOCK DIAGRAMMING SYSTEM Original Filed Aug. 20, 1974 Sheet 4 0f 21 SOURCE SINK FIG. 5A SHIFT To ALLOW EXTERNAL OUTPUTS TO EXIT WEI E-j FIG. 5B SHIFT TO ALLOW EXTERNAL INPUTS TO ENTER FIG. 6A L AREA TO BE i B 2 EVALUATED I I I SINK BLOCK GROUP I I D 4 I -i E FIG. 6B I I IL AFTER MOVE 0F 2 INDEPENDENT STRING WI -J Dec. 2, 1975 J. D. LESSER AUTOMATED BLOCK DIAGRAMMING SYSTEM Sheet 5 of 21 Original Filed Aug. 20, 1974 FIG. 7A

AREAS TO BE SHIFTED DOWN I] I El E1 RESULT OF SHIFT Dec. 2, 1975 I J. D. LESSER AUTOMATED BLOCK DIAGRAMMING SYSTEM Sheet 6 of 21 Original Filed Aug. 20, 1974 RESULT OF INITIAL PLACEMENT FIG.

FIG. 8B PICK UP SOURCE BLOCK FIG. 8C COMPLETE LAYOUT FL F F|G.'9A BEFORE FIG. 9B AFTER Dec. 2, 1975 J. D. LESSER AUTOMATED BLOCK DIAGRAMMING SYSTEM Sheet 7 of 21 Original Filed Aug. 20, 1974 BEFORE FIG. 10A

FIG. 10B

AFTER Dec. 2, 1975 J. D. LESSER T941,005

AUTOMATED BLOCK DIAGRAMMING SYSTEM Original Filed Aug. 20, 1974 Sheet 8 of 21 F e I 4 A A E NET 1 ORIGINAL NET POSITIONS 1 L NEH FIG. IZA

ORIGINAL NET1 NET POSITIONS 11 W C NETZ LNETZ) FIG. 12B

REASSIGNED NEH NET POSITIONS NEH NETI Dec. 2, 1975 J. D. LESSER AUTOMATED BLOCK DIAGRAMMING SYSTEM Original Filed Aug. 20, 1974 FIG. 3A Tl B2 ORIGINAL B4 NET POSITIONS FIG. {38 I B5 REASSIGNED Bi NET POSITIONS Sheet 9 of 21 l Q L l l FIG.14A

BEFORE SHIFT V l FIG. 14B AFTER SHIFT 3 Dec. 2, 1975 J. D. LESSER T941,005

AUTOMATED BLOCK DIAGRAMMING SYSTEM Original Filed Aug. 20, 1974 Sheet 10 of 21 FIGJSA i g a F 2 BEFORE SINKBO RU LCKGOP SINK BLOCK GROUP 0 5| 3| EVALUATION I m a II El 2] F|G.|5B E| AFTER EVALUATION l :l 'f

m a 1 El FIG. 5C El AFTER ROW 3 El COMPRESSION DC. 2, 1975 J. D. LESSER T941,005

AUTOMATED BLOCK DIAGRAMMING SYSTEM Original Filed Aug. 20, 1974 Sheet 11 of 21 FIG. 16A

PIC-3.468

AFTER COMPRESSiON U J I J EL i Dec. 2, 1975 J. D. LESSER T941,005

AUTOMATED BLOCK DIAGRAMMING SYSTEM Original Filed Aug. 20,- 1974 Sheet 12 of 21 H6. 17A i-TRACK CONNECTIONS [1 WG-1] [IE-U FIG ITB 3-TRACK CONNECTIONS FIG. 7C 5-TRACK CONNECTIONS J. D. LESSER Dec. 2, 1975 S G m M M K A W R S G III M HHH WW KE nn CH ,W mY M Bs m mm A nHHn M 4 M m m m w m s SINK ROUTING OF 3-T'RACK CONNECTIONS FIG l8 SINK U FIG. {9A

FIND HORIZONTAL TRACKS ABOVE AND BELOW SOURCE BLOCK OVERLAP SOURCE POINT FIG. 9B TRACK FIND VERTICAL TRACKS IN OVERLAP AREA OVERLAP OF TWO PATHS EXTERNAL IN PUTS Dec. 2, 1975 J. D. LESSER T941,005

AUTOMATED BLOCK DIAGRAMMING SYSTEM Original Filed Aug. 20, 1974 Sheet 14 of 21 FIG. 20A U B *r PASSi -i-TRACK 2 AND OUT PUTS DLJLJ FIG. 20B 5 W PASS2ALL ""El"- FEEDBACKS El W ""'75 L- FIG.2OC E 9 3 15 6 PASS 3 ALL OTHERS 10 H EXCEPT REMAINING 2 EXTERNAL I/O's --1Z FIG. 20D PASS4-ALL E| REMAINING EXTERNAL 16 S 3 B w Dec. 2, 1975 J. D. LESSER T941,005

AUTOMATED BLOCK DIAGRAMMING SYSTEM Original Filed Aug. 20, 1974 Sheet 15 of 21 1 2 5 4 1 HORIZONTAL 2 I VERTICAL FIG. ZiA NUMBERING OF TRACKS WITHIN CHANNEL FIG. ZIB VERTICAL NESTING FIG 21C HORIZONTAL NESTING l ll l W 4 EH Fl G. 21D FEEDBACK NESTlNG Dec. 2, 1975 J. D. LESSER T941,005

AUTOMATED BLOCK DIAGRAMMING SYSTEM Original Filed Aug. 20, 1974 Sheet 16 of 21 FIG. 22

LOADDIGITAL REPREsENTATIoN 0F BLOCK m HG GRAPH INTo STORAGE IN LIST FORMAT sToRE PAGE DIMENS|0NSX,Y 22B COMPUTE FOR EACH BLOCK IN GRAPHI FIG. NO. OF EXTERNAL INPUT NETs 22c NO. OF INTERNAL INPUT ms {4 N0.0F EXTERNAL ouTPuTNETs FIG N0.0F INTERNAL INPUT NETS 220 FIG T I coNPuTE ToR EAcN NET IN SELECT BLOCK IN LIST HAVING GRAPH NO. OF soIIRcE BLOCKS I z RoINTERNAL INPUT NETs AND NO. OFSINK BLOCKS I FIG. Ia 22F I PLACE SELECTED BLOCK IN LooATIoN I=I, =I /20 IIIIIERE I=I...Y, =I...xI I 24 HASXBEEN EXCEE-DED BY PLAcENENT? 26 N0 ,50 |YES 1 I I IIIAsTIIIs LAsT 46 IsI=I? 4O RLIIcNIN LIsT.

. sa N0| c N0-23 YES YES INPRovE PLACEMENT OFBLOCKS IN I=I+I cum I BY MOVING ALL BLOCKS wITII zERo INTERNAL OUTPUT ms /54 To BOTTOM OF COLUMN I SET j=1 ./42

I I IDENTIFYBLOCK L /44 As SOURCE BLOCK Dec. 2, 1975 Original Filed Aug. 20, 1974 J. D. LESSER AUTOMATED BLOCK DIAGRAMMING SYSTEM BEGIN AT ROWj, PLACE ALL SINK BLOCKS 0F BLOCK I,j SEOUENTIALLY IN POSITION (i+I,j),(i+I,j+I),...

I I NO T I YES HAS x BEEN EXCEEDED IN COLUMN I+I? DELETE ALL BLOCKS EXCEEDINC X FROM PRESENT CONSIDERATION /54 Sheet 17 of 21 FIG. 22B

REARRANCE SINK BLOCKSIN COLUMN I+I TO MINIMIZE CROSSOVERSIII JOCS AND MAXIMIZE NUMBER OF STRAIGHT CONNECTIONS DOES ANY SOURCE BLOCK IN COLUMN i INTERFERE WITH AN EXTERNAL INPUT T0 SINK BLOCK IN COLUMN I+I? NO YES SHIFT BLOCKS IN COLUMNS I THROUGH COLUMN i DOWN ONE ROW TO ALLOW EXTERNAL INPUT TO PASS .AL I

NO 70 YES HASXBEEN EXCEEDED IN COLUMNSI THROUGH I? DELETE ALL BLOCKS EXCEEDINC 72 X FROM PRESENT CONSIDERATION HAVE ALL SOURCE BLOCKS IN COLUMN i BEEN PROCESSED IYES 82 SET =I. a4

Dec. 2, 1975 J. D. LESSER AUTOMATED BLOCK DIAGRAMMING Original Filed Aug. 20, 1974 SYSTEM Sheet 18 of 21 FIG. 220

IS BLOCK i+|,j COMPLETE NO I YES :88

A "INCOMPLETE"AND ADDI TO COUNT 0F INCOMPLETE BLOCKS IN COLUMN i+I LABEL BLOCK LABEL BLOCK'COMPLETE" AND ADD I TO COUNT 0F COMPLETE BLOCKS IN COLUMN i+I HAVE ALL BLOCKS IN COLUMN i+I BEEN LABELED? ARE ALL BLOCKS IN I02 1 GOLUMNi+ICOMPLETE? NO YES {06/ [I04 I ARE ALL BLOCKS IN io8 COLUMN i+4 INCOMPLETE? L52-No LLo YEs MOVE ALL INCOMPLETE H BLOCKS FROM (i+I',j) A50 T0 (i+2,j) FOR ALL 122 INCOMPLETEIHIJI POSITIONS q ISBLOCK (i+|,j) WITHIN A FEEDBACK LOOP? DOBLOCKSINCOLUMN [H8 YES I I 1+2 EXCEED Y. PM M6 N0 {54 YES I 120 MOVE ALL BLOCKS I INCOLUMNHI DELETE BLOCKS IN ALL P EXCEPT BLOCK COLUMNI+2 FROM PRESENT (m mm CONSLDERAHON BEEN PROCESSED? N0 24pm COLUMN|+2 I56 L I /I38 I26 J= Dec. 2, 1975 J. D. LESSER T941,005

AUTOMATED BLOCK DIAGRAMMING SYSTEM Original Filed Aug. 20, 1974 Sheet 19 of 21 HAVE ALLBLOCKSIN /{4O GRAPH BEEN PLACED? YES NO! M 1 444 SET NAxc T0 RIGHT 158, D0 ANY BLOCKS PLACED MOST COLUMN USED IN COLUMN m HAVE SET 5:1 {60 ANY INTERNAL OUTPUT NETS. NO YES A52\ .A50 146 A48 A SET 1:1 161 SELECT FIRST E 1 INCOMPLETE BLOCK I=I+1 REARRANGE INPUT AND OUTPUT 0N PAGE 1 NET POSITIONS 0N BLOCK i, j 162/ TOMINIMIZECROSSOVERS,

1068 AND MAXIMIZE NUMBER SELECT oNE SOURCE OFSTRAIGHT CONNECTIONS BLOCKOFTHESELECTED {54 A INCOMPLETE BLOCK AND 1 164\ PLACE ITIN FIRST 1 AVAILABLE POSITION IN COLUMN T0 LEFT 0F 7 COLUMN WHERE INCOMPLETE DOES] EXCEEDX. BLOCK APPEARS |N0 IYES 168- i=i+l ,JTQ POSITION {56 0F SOURCE BLOCK DOES i EXCEED Y? MAYO 1N0 JYEs ARE EXTERNAL INPUT AND H2 OUTPUT NETS OBSTRUCTED? YEs Nol 'fi FIG. 22D SHIFT BLOCKS IN ALL COLUMNS DOWN ONE Row 4 4 ABOUT POINT OF BLOCKAGE DOES] EXCEED x? YES N0| 

